diff --git a/README.md b/README.md
index 8ab6fd9..9a5f0d5 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,9 @@
 
 Supports a number of common global variables but patches are welcomed if you need better support.
 
-- `GOOGLE_ANALYTICS` your UA-XYZ code
+- `GOOGLE_ANALYTICS_ID` your Google Analytics UA-XYZ code (None to disable analytics).
+
+- `GOOGLE_ANALYTICS_PROP` your Google Analytics property name (None to disable analytics).
 
 - `GOOGLE_PLUS_URL` A link to your Google+ profile. Used for the [Google Authorship](http://www.google.com/insidesearch/features/authorship/index.html) feature.
 
diff --git a/templates/modules/analytics.html b/templates/modules/analytics.html
index c4500ca..7a34b95 100644
--- a/templates/modules/analytics.html
+++ b/templates/modules/analytics.html
@@ -1,13 +1,11 @@
-{% if GOOGLE_ANALYTICS %}
-<script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', '{{ GOOGLE_ANALYTICS }}']);
-  _gaq.push(['_trackPageview']);
+{% if GOOGLE_ANALYTICS_ID and GOOGLE_ANALYTICS_PROP %}
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
-    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-  })();
+  ga('create', '{{ GOOGLE_ANALYTICS_ID }}', '{{ GOOGLE_ANALYTICS_PROP }}');
+  ga('send', 'pageview');
 </script>
 {% endif %}
